package showgo.gui;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JDialog;

import showgo.modell.Manager;

/**
 * @author lutz In diesem Dialog koennen neue Nichtdarstellerposten angelegt
 *         werden.
 * 
 */
public class NichtdarstellerpostenDialog extends JDialog implements
	ActionListener {

    private javax.swing.JButton beendenButton;
    private javax.swing.JTextField bezTextField;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JButton uebernehmenButton;

    public NichtdarstellerpostenDialog() {
	setModal(true);
	setTitle("Neue Nichtarstellerposten");

	initComponents();
    }

    private void initComponents() {
	setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
	setPreferredSize(new java.awt.Dimension(480, 200));
	// DialogFrame kann nicht maximiert werden
	setResizable(false);

	jLabel1 = new javax.swing.JLabel();
	bezTextField = new javax.swing.JTextField();
	jLabel2 = new javax.swing.JLabel();
	uebernehmenButton = new javax.swing.JButton();
	beendenButton = new javax.swing.JButton();

	jLabel1.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
	jLabel1.setText("Neue Nichtdarstellerposten");

	jLabel2.setText("Bezeichnung der neuen Funktion:");

	uebernehmenButton.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
	uebernehmenButton.setText("Uebernehmen");
	uebernehmenButton.addActionListener(this);

	beendenButton.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
	beendenButton.setText("Beenden");
	beendenButton.addActionListener(this);

	javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
		getContentPane());
	getContentPane().setLayout(layout);
	layout.setHorizontalGroup(layout
		.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		.addGroup(
			layout.createSequentialGroup()
				.addContainerGap()
				.addGroup(
					layout.createParallelGroup(
						javax.swing.GroupLayout.Alignment.LEADING)
						.addComponent(jLabel2)
						.addGroup(
							layout.createParallelGroup(
								javax.swing.GroupLayout.Alignment.LEADING,
								false)
								.addComponent(
									jLabel1,
									javax.swing.GroupLayout.DEFAULT_SIZE,
									javax.swing.GroupLayout.DEFAULT_SIZE,
									Short.MAX_VALUE)
								.addComponent(
									bezTextField)))
				.addPreferredGap(
					javax.swing.LayoutStyle.ComponentPlacement.RELATED,
					95, Short.MAX_VALUE)
				.addGroup(
					layout.createParallelGroup(
						javax.swing.GroupLayout.Alignment.LEADING,
						false)
						.addComponent(
							beendenButton,
							javax.swing.GroupLayout.DEFAULT_SIZE,
							javax.swing.GroupLayout.DEFAULT_SIZE,
							Short.MAX_VALUE)
						.addComponent(
							uebernehmenButton,
							javax.swing.GroupLayout.DEFAULT_SIZE,
							javax.swing.GroupLayout.DEFAULT_SIZE,
							Short.MAX_VALUE))
				.addContainerGap()));
	layout.setVerticalGroup(layout
		.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		.addGroup(
			layout.createSequentialGroup()
				.addContainerGap()
				.addComponent(jLabel1)
				.addGap(52, 52, 52)
				.addGroup(
					layout.createParallelGroup(
						javax.swing.GroupLayout.Alignment.BASELINE)
						.addComponent(jLabel2)
						.addComponent(uebernehmenButton))
				.addPreferredGap(
					javax.swing.LayoutStyle.ComponentPlacement.RELATED)
				.addGroup(
					layout.createParallelGroup(
						javax.swing.GroupLayout.Alignment.BASELINE)
						.addComponent(
							bezTextField,
							javax.swing.GroupLayout.PREFERRED_SIZE,
							javax.swing.GroupLayout.DEFAULT_SIZE,
							javax.swing.GroupLayout.PREFERRED_SIZE)
						.addComponent(beendenButton))
				.addContainerGap(23, Short.MAX_VALUE)));

	pack();
    }

    /**
     * 
     */
    private static final long serialVersionUID = 4101789437586780376L;

    @Override
    public void actionPerformed(ActionEvent e) {
	if (e.getSource() == uebernehmenButton) {
	    if (!bezTextField.getText().isEmpty()) {
		// dann neue Funktion in Manager einfuegen:
		String bezeichnung = bezTextField.getText();
		Manager.getInstance().getNichtDarstellerPosten()
			.add(bezeichnung);
	    }
	} else if (e.getSource() == beendenButton) {
	    String bezeichnung = bezTextField.getText();
	    Manager.getInstance().getNichtDarstellerPosten().add(bezeichnung);
	    dispose();
	}

    }

}
